package com.dayuanit.dy15.lesson27.demo3;

public class Test {

    public static void a() {
        System.out.println("a -->" + Thread.currentThread().getName());
        b();
    }

    public static void b() {
        System.out.println("b -->" + Thread.currentThread().getName());
//        throw new NullPointerException("空指针啦");

        c();
    }

    public static void c() {
        System.out.println("c -->" + Thread.currentThread().getName());
        throw new NullPointerException("NPE啦");
    }

    public static void main(String[] args) {
        //线程和方法的关系：方法都是在线程中执行的,线程里面会维护一个栈空间，执行方法就是入栈和出栈
        //mian方法是由一个线程执行的

        //当前线程：谁执行的当前的方法，那么当前线程就是谁
        Thread thread = Thread.currentThread();
        System.out.println(thread.getName());

        a();

        //创建t1线程，为期分配一个执行c()方法的任务
//        Thread t1 = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                Test.c();
//            }
//        }, "t1");
//        t1.start();

//        throw new NullPointerException("空指针啦");


    }
}
